package com.wangsd.common.component.extBean;

import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.annotation.Required;

/**
 * 支付押金（付款码支付）
 */
@XStreamAlias("xml")
public class DepositMicropayRequest extends BaseWxPayRequest {
    @Override
    protected void checkConstraints() throws WxPayException {

    }

    @XStreamAlias("nonce_str")
    private String nonceStr;

    @XStreamAlias("body")
    private String body;

    @XStreamAlias("out_trade_no")
    private String outTradeNo;

    @Required
    @XStreamAlias("total_fee")
    private Integer totalFee;

    @Required
    @XStreamAlias("spbill_create_ip")
    private String spbillCreateIp;

    @XStreamAlias("openid")
    private String openid;

    @Required
    @XStreamAlias("auth_code")
    private String authCode;

    @Required
    @XStreamAlias("fee_type")
    private String feeType;

    @Required
    @XStreamAlias("deposit")
    private String deposit;

    @Override
    public String getNonceStr() {
        return nonceStr;
    }

    @Override
    public void setNonceStr(String nonceStr) {
        this.nonceStr = nonceStr;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public Integer getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Integer totalFee) {
        this.totalFee = totalFee;
    }

    public String getSpbillCreateIp() {
        return spbillCreateIp;
    }

    public void setSpbillCreateIp(String spbillCreateIp) {
        this.spbillCreateIp = spbillCreateIp;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getAuthCode() {
        return authCode;
    }

    public void setAuthCode(String authCode) {
        this.authCode = authCode;
    }

    public String getDeposit() {
        return deposit;
    }

    public void setDeposit(String deposit) {
        this.deposit = deposit;
    }

    public String getFeeType() {
        return feeType;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }
}
